from typing import Deque
from .message import Message
from collections import deque
from .logger import get_logger

logger = get_logger(__name__)

class Channel:
    """
    每个Channel代表一个频道，可以是一个聊天室，也可以是一个私聊，每个频道维护了一个消息队列
    """
    def __init__(self, name: str, max_context_length: int = 100):
        """
        :param name: 频道名称
        :param max_context_length: 消息队列的最大长度
        """
        self.name: str = name
        self.context: Deque[Message] = deque(maxlen=max_context_length)
        logger.debug(f"Channel '{name}' 初始化完成，最大上下文长度: {max_context_length}")
    
    def reset(self):
        """
        清空消息队列
        """
        self.context.clear()
    